// ; 1、使用create-react-app project --template typescript创建脚手架
// ; 2、正确使用typescript语法，规范使用类型对any的使用全局不超过3个
// ; 3、在本地创建新仓库，并与远程建立连接
// ; 4、正确使用Git Hooks 管理代码提交规范，并正确演示正确提交操作  husky
// ; 5、正确配置husky 工具，在 执行 git commit 提交的时候，按照eslint 规范进行修复代码
// ; 11、正确集成commitizen git 交互式提交规范
// ; 12、正确配置eslint和prettier 规范并解决冲突
// ; 13、100% 还原页面，正确实现描述需求，无bug
// ; 正确录制效果视频，实现功能标黄

// ; 6、图一题目描述：
// ; 给你一个数组nums和一个值val，你需要原地移除所有数值等于val的元素，并返回移除后数组的新长度。不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
// ; 7、正确实现removeElement方法
// ; function removeElement(nums: number[], val: number): number { return res; };
export const removeElement = (nums: number[], val: number): number => {
  // 方式一：
  return nums.filter(v => v !== val).length
  // 方式二：
  // 不要使用额外的数组空间
  // while (nums.indexOf(val) !== -1) {
  //   nums.splice(nums.indexOf(val), 1);
  // }
  // console.log(nums, nums.length);
  // return nums.length
};


// [1,3,4,5,4,3]  6


// ; 8、图二题目描述：
// ; 给定一个 n 个元素有序的（升序）整型数组nums和一个目标值target，写一个函数搜索nums中的target，如果目标值存在返回下标，否则返回 -1
// ; 9、正确实现search方法
// ; function search(nums: number[], target: number): number { return index; };
// ; 10、正确实现数据类型的定义

export function search(nums: number[], target: number): number { 
  return nums.indexOf(target)
}
